/**
 * Name        : InheritanceContainer.h
 * Version     : 1.0.0
 * Vendor      : badadev.com
 * Description : Container object used for communication between parent-children
 * Lincense    : This program is free software. It comes without any warranty, to
 *               the extent permitted by applicable law. You can redistribute it
 *               and/or modify it under the terms of the Do What The Fuck You Want
 *               To Public License, Version 2, as published by Sam Hocevar. See
 *               http://sam.zoy.org/wtfpl/COPYING for more details.
 */

#ifndef INHERITANCECONTAINER_H_
#define INHERITANCECONTAINER_H_

namespace badadev
{

class InheritanceContainer
{
protected:
	InheritanceContainer *parent_;

public:

	// PREDEFINED ACTIONS
	enum {
		ON_CLOSE_ACTION=2000,
		ON_CREATE_ACTION,
		ON_REDRAW_ACTION
	};

/*	const static int ON_CLOSE_ACTION = 1;
	const static int ON_REDRAW_ACTION = 2;
	*/

	InheritanceContainer();
	~InheritanceContainer();

	void setParent(InheritanceContainer &parent);
	void sendContainerActionToParent(const int actionId);
	virtual void receiveContainerActionFromChild(const int actionId,
			                                     InheritanceContainer &child);
};

}

#endif /* INHERITANCECONTAINER_H_ */
